如果临床医生只学一门编程语言,那就是他了
关于编程语言,我一开始学习的是perl,那是2年前在武汉陈连福的10天培训班上,就跟看天书一样。跌跌撞撞地学了一段时间,发现确实好用,但是在当时跟自己的领域脱节。
到了后来接触R语言,刚开始那会买了别人的教程,送代码,我就只能复制粘贴,一旦报错,根本无法解决。之后觉得老是买别人的代码什么时候是个头,在生信技能树的帮助下,花了一段时间系统地学习了R语言。
慢慢地我发现我可以处理GEO数据,TCGA数据,RNAseq数据,而且只要是数据框形式几乎都能处理。
这种感觉是久违的。
高中以前,我习惯的学习方式就是,学一个知识,运用知识去解100道题,但是回望过去10年的学医生涯,每一场考试都只需要死记硬背。 再也体会不了以一当百的感觉,不会就是不会,记不住就写不出,推理是没有用的。 但是在学习R语言之后,那种感觉又回来了。我现在每天练习一个小题目,很开心。
所以,我私底下觉得,学习R语言真是一本万利。而庆幸的是,我在30岁的高龄没有放弃自己。 前段时间写过一个小帖子,总结了一下R语言的学习路径,转眼阅读量已到了5000,想学习的可以参考下。 R 语言的最好资源,一个就够!
公众场合给别人推荐书是粗鲁的,稍微拿捏不好就会变成类似公众场合腰间绑着个喇叭放歌的感觉,自己趣味恶俗就算了,还强迫别人听。
学习的过程中,其实没有白走的路,那些走过的弯路,看过的歪书,都有可能使我们产生再来一次一定要避免的感觉,但是,那些弯路也影响了我们的选择,没有看过差的,怎么知道好的。
我们经常说,做错的题可以加深印象,做错的事可以促使我们反省,所以当我们走过泥泞不堪时,总是心地善良地去提携后人,给出中肯建议,但是,他们没有历过你的劫,理解不了的你的沧桑。
所幸,我们这个号里的阅读者,大多是我熟悉的人,有我的家人,同学,同门,还有朋友,从留言里面就能看出温情,他们这些年来给我无限的包容和理解,应该不会觉察出我已变得如此油腻。
好了,为了不产生类似于昨天留言里说的骗炮的感觉,我过渡一下,今天的题目跟勾股定理相关。三个数的和是1000,那么如果他们满足勾股定理,分别是多少? 马上开始第9题:
A Pythagorean triplet is a set of three natural numbers, a < b < c, for which, a^2 + b^2 = c^2 For example, 3^2 + 4^2 = 9 + 16 = 25 = 5^2. There exists exactly one Pythagorean triplet for which a + b + c = 1000. Find the product abc.
这题就是解方程 肯定能够求出a,b,c
实际上我没有什么思路,我脑子里还是上学那会的想法,想通过二项式变换直接得出abc
但是,不要忘了,这是在进行编程练习,无论是否巧妙,只要是遍历能做的,就交给计算机吧
for (a in 1:500){
for (b in (a+1):500){
c = 1000-a-b
if (a^2 +b^2 == c^2 ){
return(list(c(a,b,c),a*b*c))
}
}
}
最终得到a =200,b = 375, c =425 abc =31875000